﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Common.Entities
{
    public class Upgrade
    {
        public int Id;//номер
        public string Name;//имя
        public string Description;//описание
        public decimal Cost;//стоимость
        public Dictionary<int, int> StructuresNeed;//какие здания (ид, штук) нужны для появления апгрейда
        public Dictionary<int, float> Structures;//на какие здания действует (ид здания, % увеличения бонуса)
        public List<int> AchievementsNeed;//какие ачивки нужны для появления апгрейда
        public float BonusToClicks;//% к прибыли от кликов
        public float BonusToIncome;//% к пряникам в секунду (множитель?)
        public bool Bought = false;//куплен ли апгрейд

        /// <summary>
        /// Создание нового апгрейда
        /// </summary>
        /// <param name="id">Уникальный номер апгрейда</param>
        /// <param name="name">Название апгрейда</param>
        /// <param name="description">Описание апгрейда</param>
        /// <param name="cost">Стоимость в пряниках</param>
        /// <param name="structuresNeed">Какие здания необходимы</param>
        /// <param name="structures">На какие здания действуют бонусы</param>
        /// <param name="achievementsNeed">Какие нужны ачивки</param>
        /// <param name="bonusToClicks">Бонус к пряникам по кликам</param>
        /// <param name="bonusToIncome">Бонус к пряникам в секунду</param>
        public Upgrade(int id, string name, string description, decimal cost, Dictionary<int,int> structuresNeed, Dictionary<int, float> structures, List<int> achievementsNeed, float bonusToClicks, float bonusToIncome)
        {
            Id = id;
            Name = name;
            Description = description;
            Cost = cost;
            StructuresNeed = structuresNeed;
            Structures = structures;
            AchievementsNeed = achievementsNeed;
            BonusToClicks = bonusToClicks;
            BonusToIncome = bonusToIncome;
        }
    }
}
